/*
 * @Description: 
 * @Author: Aroma
 * @Date: 2024-09-13 19:15:04
 * @LastEditors: Aroma
 * @LastEditTime: 2024-09-13 19:15:08
 * @别瞎看: 你个无脑牛马
 */
public class Student {
    // 私有属性
    private String name; // 姓名
    private int age; // 年龄
    private String gender; // 性别
    private String studentId; // 学号

    // 无参构造器
    public Student() {
    }

    // 有参构造器
    public Student(String name, int age, String gender, String studentId) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.studentId = studentId;
    }

    // getter方法
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getGender() {
        return gender;
    }

    public String getStudentId() {
        return studentId;
    }

    // setter方法
    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        // 可以在这里添加对年龄范围的验证逻辑
        if (age >= 0) {
            this.age = age;
        } else {
            throw new IllegalArgumentException("Age cannot be negative");
        }
    }

    public void setGender(String gender) {
        // 可以添加对性别的验证逻辑，但在这个简单示例中我们不做限制
        this.gender = gender;
    }

    public void setStudentId(String studentId) {
        // 可以在这里添加对学号格式的验证逻辑
        // 例如，确保学号不为空且符合特定的格式
        if (studentId != null && !studentId.isEmpty()) {
            this.studentId = studentId;
        } else {
            throw new IllegalArgumentException("Student ID cannot be null or empty");
        }
    }

    // 还可以添加其他方法，如toString()来输出学生的基本信息
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", gender='" + gender + '\'' +
                ", studentId='" + studentId + '\'' +
                '}';
    }
}